473,517 Members | 2,751 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

best way to markup navigation menus?

Using my About page as an example:
http://members.shaw.ca/davepatton/about.html

What is the best/proper way to markup a page such as
this that has "the main body" and "a navigation menu"?

It has been suggested before that I should have the
navigation menu at the end of the HTML, so that a
screen reader doesn't have to read it to get to
the content, with the possible exception of having
it at the top of the HTML for the site's homepage.

It has also been suggested that there should be a link
at the start of the HTML to skip to the navigation menu,
and that this link should be hidden using CSS.

The most recent suggestion is that the "On This Page"
information should be at the start of the HTML, to serve
as a 'table of contents', along with a 'skip to navigation
menu' link, and that the "At This Site" information should
be at the end of the HTHL.

So, do you think this is the "best/proper" way to do the markup?
<div>
<h1>Page Title</h1>
<div id="toc">
<h2>On This Page:</h2>
<ul>....</ul>
<div>
<div id="skiptonav">
<p><a href="#navmenu">Skip to Navigation Menu</a></p>
</div>
<div id="content">
<p>...</p>
</div>
<div id="navmenu">
<h2>At This Site</h2>
<ul>....</ul>
<div>

--
Dave Patton
Canadian Coordinator, Degree Confluence Project
http://www.confluence.org/
My website: http://members.shaw.ca/davepatton/
Jul 20 '05 #1
4 3914
in post: <news:Xn*********************************@24.71.22 3.159>
Dave Patton <sp**@trap.invalid> said:
It has been suggested before that I should have the
navigation menu at the end of the HTML,
it is likely that a visitor would want the content of the page before
the nav to take them away from the page.
so that a screen reader doesn't have to read it to get to the content,
any decent assistive tech has the ability to skip goodies in a variety
of different ways.
It has also been suggested that there should be a link
at the start of the HTML to skip to the navigation menu,
see above. you don't need to reinvent the wheel.
and that this link should be hidden using CSS.


which may also hide it from the assistive tech and small visible images
may be filtered out by proxies/filters as a webbug.

as you may have guessed i don't agree with the use of skip links, it
gives me a nasty patronizing taste in my mouth. ptooy.
--
b r u c i e
Jul 20 '05 #2
Dave Patton <sp**@trap.invalid> wrote:
Using my About page as an example:
http://members.shaw.ca/davepatton/about.html

What is the best/proper way to markup a page such as
this that has "the main body" and "a navigation menu"?

It has been suggested before that I should have the
navigation menu at the end of the HTML, so that a
screen reader doesn't have to read it to get to
the content
Good advice. Also helps to prevent your nav bar/section links from being
listed in SE's "summary" for certain types of searches.
, with the possible exception of having
it at the top of the HTML for the site's homepage.
I see no reason why there should be an exception for the index page. If
you are going to use a site wide nav then every link from the nav
bar/section should also appear in the "content" section of the index
page along with text explaining what can be found there.
It has also been suggested that there should be a link
at the start of the HTML to skip to the navigation menu,
and that this link should be hidden using CSS.


Bad form imo.

Using the provided "about page" example you have 2 options: float the
content to the left thus allowing you to place the nav after the content
in the html, or use css absolute positioning. If like in your example
you can use floats then they are probably the easier option. Css
absolute positioning requires more effort to maintain flexibility, and
for more extreme zooming you typically can't prevent it from breaking.

--
Spartanicus
Jul 20 '05 #3
Spartanicus <me@privacy.net> wrote in
news:ng********************************@news.spart anicus.utvinternet.ie:
Dave Patton <sp**@trap.invalid> wrote:
Using my About page as an example:
http://members.shaw.ca/davepatton/about.html

What is the best/proper way to markup a page such as
this that has "the main body" and "a navigation menu"? It has been suggested before that I should have the
navigation menu at the end of the HTML, so that a
screen reader doesn't have to read it to get to
the content , with the possible exception of having
it at the top of the HTML for the site's homepage.
I see no reason why there should be an exception for the index page.


The reason I was asking was that on Jun 12th, in the thread
"Heading-related HTML issues" in this group, Jukka K. Korpela said
"except perhaps on the _main_ page. When entering a main page,
the user _might_ wish to hear the table of content first".
If you are going to use a site wide nav then every link from the nav
bar/section should also appear in the "content" section of the index
page along with text explaining what can be found there.


You mean like I have on my site's index page?
http://members.shaw.ca/davepatton/index.html
It has also been suggested that there should be a link
at the start of the HTML to skip to the navigation menu,
and that this link should be hidden using CSS.


Bad form imo.


June 10th, in the "Heading-related HTML issues" thread,
Lachlan Hunt said "You can either put the site navigation
at the top or bottom. Either way, be sure to include a
skip link to either skip to content or skip to navigation,
depending whether it's at the top or bottom. You can hide
this skip link with CSS, but it's visible when the document
is not styled".

July 9th, in the "Site review request: www.elac.bc.ca" thread
in this group, "jake" said:
For benefit of assistive technology (AT) users:
Consider:
(a) Position the 'On this page' portion of the menu so that it gets
read at the *start* of the page -- not at the end. i.e. So it acts
as a Table of Contents.
(b) Provide a 'skip to navigation' link at the start of each page so
that a user can get quickly to the 'At this site' portion of the menu.

In other words, I've seen contradictory suggestions for
'the best way to do things', some of it from 'well known'
people in these newsgroups, so that's why I was asking :-)
Thanks to you and brucie for the feedback.

--
Dave Patton
Canadian Coordinator, Degree Confluence Project
http://www.confluence.org/
My website: http://members.shaw.ca/davepatton/
Jul 20 '05 #4
Dave Patton <sp**@trap.invalid> wrote:
The reason I was asking was that on Jun 12th, in the thread
"Heading-related HTML issues" in this group, Jukka K. Korpela said
"except perhaps on the _main_ page. When entering a main page,
the user _might_ wish to hear the table of content first".
If you are going to use a site wide nav then every link from the nav
bar/section should also appear in the "content" section of the index
page along with text explaining what can be found there.


You mean like I have on my site's index page?
http://members.shaw.ca/davepatton/index.html


Yes, note that this also removes the reasoning for placing the nav
section first in the html for the index page.
It has also been suggested that there should be a link
at the start of the HTML to skip to the navigation menu,
and that this link should be hidden using CSS.


Bad form imo.


June 10th, in the "Heading-related HTML issues" thread,
Lachlan Hunt said "You can either put the site navigation
at the top or bottom. Either way, be sure to include a
skip link to either skip to content or skip to navigation,
depending whether it's at the top or bottom. You can hide
this skip link with CSS, but it's visible when the document
is not styled".

July 9th, in the "Site review request: www.elac.bc.ca" thread
in this group, "jake" said:
For benefit of assistive technology (AT) users:
Consider:
(a) Position the 'On this page' portion of the menu so that it gets
read at the *start* of the page -- not at the end. i.e. So it acts
as a Table of Contents.
(b) Provide a 'skip to navigation' link at the start of each page so
that a user can get quickly to the 'At this site' portion of the menu.

In other words, I've seen contradictory suggestions for
'the best way to do things', some of it from 'well known'
people in these newsgroups


To many people make assumptions about what does and does not work for
disabled people.

"Skip to" links typically aim to get around the problem of non
linearizing single table layouts. Nowadays a css layout means we can
prevent creating the problem, hence "skip to" links are no longer
useful.

Designing/coding for the disabled is a niche skill that requires
considerable specialist knowledge and experience. It requires regular
testing with soft and hardware used by various disabled people (many
forms of disability exist), contacts with those people to get their
opinions and studying their actual behaviour in user tests.

Imo most web authors should concentrate on cross UA, cross platform
access (including non-graphical/text mode access) and that their text
can be zoomed. Do that and you'll have a site with pretty good
accessibility. Attempts to do more are likely to make accessibility
worse, not better.

--
Spartanicus
Jul 20 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

24
5232
by: delerious | last post by:
Hi, I am designing a web site that will that showcase a bunch of vacation pictures. It will have a banner and a navigation menu (consisting of 13 rectangular images that can be clicked). I am considering a few different layouts: - Banner on top, with the navigation menu immediately below it. The problem with this layout is that the...
131
21535
by: Peter Foti | last post by:
Simple question... which is better to use for defining font sizes and why? px and em seem to be the leading candidates. I know what the general answer is going to be, but I'm hoping to ultimately get some good real world examples. Fire away! :) Regards, Peter Foti
145
8678
by: Mark Johnson | last post by:
Oddly enough, I found it difficult, using Google, to find a list of best-of sites based on the quality of their css packages. So I'd ask. Does anyone know of particularly good sites which are in good measure because of their creative and useful css designs? I'm aware of Zen Garden and a few others. So don't bother with those. And I hope I...
1
5964
by: Bryan | last post by:
I've been trying to figure out how to do this for the past 2 days and am finally tossing in the towel. No matter what I do, I just can't seem to get it to work and haven't been able to find any examples of how to do it in a more CSS-oriented way. Most of the hierarchical examples are for vertical navigation menus. Basically, I'm trying to...
2
4415
by: Dan V. | last post by:
What do you recommend to use for saving time and get great results for making image and css buttons on a site? Also top tabs like for navigation. Separate question maybe is what is the best tool for menus? Expandable...etc. thanks.
136
9206
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their code was littered with document.all and eval, for example, and I wanted to create a practical list of best practices that they could easily put to...
2
563
by: Jay | last post by:
I have used Smart Navigation on several projects and it works wonderfully. For my last project I used some javascript menus. SmartNavigation caused them to not function. So I used SmartScoller which you can download from -- http://www.strengthtechnologies.com/scroll/Download.aspx SmartScroller works with the JavaScript menus but when...
10
2516
by: EA | last post by:
I am sure I must be missing something about building navigation bars with CSS. Yes it is a very clever and efficient way to format navigation structures on simple one navigation level webs, i.e. six buttons which when clicked go to a separate web page. But here is where I must be missing something, am I right in thinking that if you wish...
4
2176
by: robert.waters | last post by:
Hello, I have a main form that is maximized when my application loads; this main form contains links to all other forms. I've had to specify the Popup property of these other forms, so that they are not maximized when they load. Unfortunately, this seems to have had the consequence of removing them from the Windows taskbar, which makes...
0
7289
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7190
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7423
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
5730
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5118
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
4781
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3272
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1636
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
829
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.